package com.qaml.mes.device.vo.eqp;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @ClassName CheckUpkeepRecordVO
 * @Description 检保任务
 * @Author leikai
 * @Date 2024/3/4 0004 13:06
 * @Version 1.0
 */
@ApiModel(value = "CheckUpkeepRecord对象", description = "检保记录")
@Data
public class CheckUpkeepRecordVO implements Serializable {


    private static final long serialVersionUID = 5999502712132707296L;

    @ApiModelProperty(value = "检保任务id")
    private String id;

    /**
     * 检保项目编号
     */
    @ApiModelProperty(value = "检保项目编号")
    private String checkUpkeepId;

    /**
     * 设备id
     */
    @ApiModelProperty(value = "设备id")
    private String eqpId;

    /**
     * 设备编码
     */
    @ApiModelProperty(value = "设备编码")
    private String eqpCode;

    /**
     * 设备名称
     */
    @ApiModelProperty(value = "设备名称")
    private String eqpName;

    /**
     * 状态
     */
    @ApiModelProperty(value = "状态")
    private String status;

    /**
     * 类型
     */
    @ApiModelProperty(value = "类型")
    private String type;

    /**
     * 检保周期
     */
    @ApiModelProperty(value = "检保周期")
    private String cycle;

    /**
     * 线体
     */
    @ApiModelProperty(value = "线体")
    private String lineBody;

    /**
     * 检保日期
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "检保日期")
    private Date checkUpkeepDate;

    /**
     * 检保开始时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "检保开始时间")
    private Date checkUpkeepStartTime;

    /**
     * 检保结束时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "检保结束时间")
    private Date checkUpkeepEndTime;

    /**
     * 检保人id
     */
    @ApiModelProperty(value = "检保人id")
    private String checkUpkeepUserId;

    /**
     * 检保人名称
     */
    @ApiModelProperty(value = "检保人名称")
    private String checkUpkeepUserName;

    /**
     * 检保提交时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "检保提交时间")
    private Date checkUpkeepCommitDate;

    /**
     * 复核人id
     */
    @ApiModelProperty(value = "复核人id")
    private String recheckUserId;

    /**
     * 复核人名称
     */
    @ApiModelProperty(value = "复核人名称")
    private String recheckUserName;

    /**
     * 复核提交时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "复核提交时间")
    private Date recheckCommitDate;

    /**
     * 归档人id
     */
    @ApiModelProperty(value = "归档人id")
    private String archiveUserId;

    /**
     * 归档人名称
     */
    @ApiModelProperty(value = "归档人名称")
    private String archiveUserName;

    /**
     * 归档提交时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "归档提交时间")
    private Date archiveCommitTime;

    /**
     * 检保条目信息
     */
    @ApiModelProperty(value = "检保条目信息")
    private List<CheckUpkeepRecordItemVO> checkUpkeepRecordItemVOList;

    /**
     * 复核信息
     */
    @ApiModelProperty(value = "复核信息")
    private List<CheckUpkeepRecordRecheckVO> checkUpkeepRecordRecheckVOList;

    /**
     * 检保人员List  -->对于未提交的检保项目，需要显示检保人员信息
     */
    @ApiModelProperty(value = "检保人员List  -->对于未提交的检保项目，需要显示检保人员信息")
    private List<CheckUpkeepUserVO> checkUpkeepUserVOList;
}